using DL.Characters.Camera.CameraShake;
using UnityEngine;

namespace DL
{
	[CreateAssetMenu(fileName = "AttackSetData", menuName = "AttackSet", order = 10)]
	public class AttackSet : ScriptableObject
	{
		public enum AttackType
		{
			矩形 = 0,
			扇形 = 1,
			圆形 = 2
		}

		public enum HitDir
		{
			前 = 0,
			后 = 1,
			左 = 2,
			右 = 3
		}

		public enum HitType
		{
			轻受击 = 0,
			重受击 = 1,
			击飞 = 2,
			上挑击飞 = 3
		}

		public AttackType attackType;

		public HitDir hitDir;

		public HitType hitType;

		[Header("附加距离")] public float hitDis;

		[Header("初始变换")] public Vector3 startPos;

		public Vector3 startRot;

		public Vector3 startScl = Vector3.one;

		[Header("最终变换")] public Vector3 endPos;

		public Vector3 endRot;

		public Vector3 endScl = Vector3.one;

		public AnimationCurve transforCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f);

		public float attackDetectionTime;

		public bool singleAttack = true;

		public float detectionIntervalTime;

		public float damageValue;

		public float pauseFrameTime;

		public AnimationCurve pauseFrameCurve = AnimationCurve.Linear(0f, 0f, 1f, 0f);

		public CameraShakeSet cameraShakeSet;

		[HideInInspector] public Vector3 startRectangleParameter;

		[HideInInspector] public Vector3 endRectangleParameter;

		[HideInInspector] public Vector3 startSectorParameter;

		[HideInInspector] public Vector3 endSectorParameter;

		[HideInInspector] public Vector2 startCircularParameter;

		[HideInInspector] public Vector2 endCircularParameter;
	}
}